//
//
//package com.kfh.ybracelet.client;
//
//import android.content.Intent;
//import android.graphics.Bitmap;
//import android.graphics.BitmapFactory;
//import android.os.Bundle;
//import android.support.v7.app.AppCompatActivity;
//import android.util.Base64;
//import android.util.Log;
//import android.view.View;
//
//import com.alibaba.cloudapi.client.constant.Constants;
//import com.kfh.ybracelet.R;
//
//import org.json.JSONArray;
//import org.json.JSONException;
//import org.json.JSONObject;
//
//import java.io.ByteArrayOutputStream;
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
//import okhttp3.Call;
//import okhttp3.Callback;
//import okhttp3.Response;
//
//public class MainActivity extends AppCompatActivity {
//    public final static String EXTRA_MESSAGE = "client.cloudapi.alibaba.com.androidsdk.MESSAGE";
//    public final static Thread worker = new Thread();
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//    }
//
//
//    public void sendHttpGet(View view) {
//
//        final Intent intent = new Intent(this, DisplayMessageActivity.class);
//
//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                String getPath = "/weather/query";
////                Map<String , String> getPathParams = new HashMap<>();
////                getPathParams.put("userId" , "10000003");
//
//                Map<String, String> getQueryParams = new HashMap<>();
//                getQueryParams.put("city", "anshun");
//                getQueryParams.put("citycode", "101260301");
//                getQueryParams.put("cityid", "111");
//
////                Map<String , String> getHeaderParams = new HashMap<>();
////                getHeaderParams.put("age" , "18");
//
//                HttpUtil.getInstance().httpGet(getPath, null, getQueryParams, null, new Callback() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        intent.putExtra(EXTRA_MESSAGE, e.getMessage());
//                        startActivity(intent);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        intent.putExtra(EXTRA_MESSAGE, getResultString(response));
//                        startActivity(intent);
//
//
//                    }
//                });
//
//            }
//        };
//        new Thread(runnable).start();
//    }
//
//    public void sendHttpPostForm(View view) {
//
//        final Intent intent = new Intent(this, DisplayMessageActivity.class);
//
//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                String getPath = "/testhttp/postform";
//
//                Map<String, String> postQueryParams = new HashMap<>();
//                postQueryParams.put("sex", "男");
//
//                Map<String, String> postHeaderParams = new HashMap<>();
//                postHeaderParams.put("TestPostHeader", "HTTP头");
//
//                Map<String, String> postFormParams = new HashMap<>();
//                postFormParams.put("TestAccount", "FORM表单");
//
//
//                HttpUtil.getInstance().httpPostForm(getPath, null, postQueryParams, postFormParams, postHeaderParams, new Callback() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        intent.putExtra(EXTRA_MESSAGE, e.getMessage());
//                        startActivity(intent);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        intent.putExtra(EXTRA_MESSAGE, getResultString(response));
//                        startActivity(intent);
//
//
//                    }
//                });
//
//            }
//        };
//        new Thread(runnable).start();
//    }
//
//
//    public String imgToBase64(Bitmap bitmap, String imgFormat) {
//        if (bitmap == null) {
//            //bitmap not found!!
//        }
//        ByteArrayOutputStream out = null;
//        try {
//            out = new ByteArrayOutputStream();
//            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
//
//            out.flush();
//            out.close();
//
//            byte[] imgBytes = out.toByteArray();
//            return Base64.encodeToString(imgBytes, Base64.DEFAULT);
//        } catch (Exception e) {
//            // TODO Auto-generated catch block
//            return null;
//        } finally {
//            try {
//                out.flush();
//                out.close();
//            } catch (IOException e) {
//                // TODO Auto-generated catch block
//                e.printStackTrace();
//            }
//        }
//    }
//
//    public void sendHttpPostBytes(View view) {
//
//        final Intent intent = new Intent(this, DisplayMessageActivity.class);
//
//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                String getPath = "/rest/160601/ocr/ocr_idcard.json";
//
//                Map<String, String> getQueryParams = new HashMap<>();
//                getQueryParams.put("QueryName", "TestQueryNameVlaue");
//
//                Map<String, String> getHeaderParams = new HashMap<>();
//                getHeaderParams.put("TestPostHeader", "HTTP头");
//
////                String content =  "Hi there ,this is 一个 string";
//
//                Bitmap bt = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_front);
//                String jpeg = imgToBase64(bt, "JPEG");
//
//                String content = "{\"inputs\":[{\"image\":{\"dataType\":50,\"dataValue\":" + "\"" + jpeg + "\"" + "}," +
//                        "\"configure\":{\"dataType\":50,\"dataValue\":\"{ \\\"side\\\": \\\"face\\\" }\"}}]}";
//
//                HttpUtil.getInstance().httpPostBytes(getPath, null, getQueryParams, content.getBytes(Constants.CLOUDAPI_ENCODING), getHeaderParams, new Callback() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        intent.putExtra(EXTRA_MESSAGE, e.getMessage());
//                        startActivity(intent);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
////                        intent.putExtra(EXTRA_MESSAGE , getResultString(response));
////                        startActivity(intent);
//                        String result = new String(response.body().bytes(), Constants.CLOUDAPI_ENCODING);
//                        Log.e("MainActivity", "response : " + response.message() + ",\n " + result);
////                        Log.e("MainActivity", "response : " +  response.message() + ",\n " +  response.body());
//
//                        try {
//                            JSONObject or = new JSONObject(result);
//
//                            JSONArray outputs = or.getJSONArray("outputs");
//
//                            JSONObject o = (JSONObject) outputs.get(0);
//
//                            JSONObject outputValue = o.getJSONObject("outputValue");
//
//                            String string = outputValue.getString("dataValue");
//
//                            JSONObject info = new JSONObject(string);
//
//                            String address = info.getString("address");
//                            String birth = info.getString("birth");
//                            String name = info.getString("name");
//                            String nationality = info.getString("nationality");
//                            String num = info.getString("num");
//                            String sex = info.getString("sex");
//
//                            Log.e("tag", "返回的信息:" + "adddress:" + address
//                                    + "\n birth:" + birth
//                                    + "\n name:" + name
//                                    + "\n nationality:" + nationality
//                                    + "\n num:" + num
//                                    + "\n sex:" + sex
//                            );
//
//                        } catch (JSONException e) {
//                            e.printStackTrace();
//                        }
//
//                    }
//                });
//
//            }
//        };
//        new Thread(runnable).start();
//    }
//
//    public void sendHttpPutBytes(View view) {
//
//        final Intent intent = new Intent(this, DisplayMessageActivity.class);
//
//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                String getPath = "/testhttp/putform";
//
//
//                Map<String, String> getQueryParams = new HashMap<>();
//                getQueryParams.put("QueryName", "TestQueryNameVlaue");
//
//                Map<String, String> getHeaderParams = new HashMap<>();
//                getHeaderParams.put("TestPostHeader", "TestPostHeaderValue");
//
//                String content = "Hi there ,this is 一个 string";
//
//                HttpUtil.getInstance().httpPutBytes(getPath, null, getQueryParams, content.getBytes(Constants.CLOUDAPI_ENCODING), getHeaderParams, new Callback() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        intent.putExtra(EXTRA_MESSAGE, e.getMessage());
//                        startActivity(intent);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        intent.putExtra(EXTRA_MESSAGE, getResultString(response));
//                        startActivity(intent);
//
//
//                    }
//                });
//
//            }
//        };
//        new Thread(runnable).start();
//    }
//
//    public void sendHttpDelete(View view) {
//
//        final Intent intent = new Intent(this, DisplayMessageActivity.class);
//
//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                String deletePath = "/testhttp/delete";
//
//                Map<String, String> deleteQueryParams = new HashMap<>();
//                deleteQueryParams.put("QueryName", "TestQueryNameVlaue");
//
//                Map<String, String> deleteHeaderParams = new HashMap<>();
//                deleteHeaderParams.put("TestDelete", "TestDeleteValue");
//
//                HttpUtil.getInstance().httpDelete(deletePath, null, deleteQueryParams, deleteHeaderParams, new Callback() {
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        intent.putExtra(EXTRA_MESSAGE, e.getMessage());
//                        startActivity(intent);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        intent.putExtra(EXTRA_MESSAGE, getResultString(response));
//                        startActivity(intent);
//
//
//                    }
//                });
//
//            }
//        };
//        new Thread(runnable).start();
//    }
//
//
//    private static String getResultString(Response response) throws IOException {
//        StringBuilder result = new StringBuilder();
//        result.append("【服务器返回结果为】").append(Constants.CLOUDAPI_LF).append(Constants.CLOUDAPI_LF);
//        result.append("ResultCode:").append(Constants.CLOUDAPI_LF).append(response.code()).append(Constants.CLOUDAPI_LF).append(Constants.CLOUDAPI_LF);
//        if (response.code() != 200) {
//            result.append("错误原因：").append(response.header("X-Ca-Error-Message")).append(Constants.CLOUDAPI_LF).append(Constants.CLOUDAPI_LF);
//        }
//
//        result.append("ResultBody:").append(Constants.CLOUDAPI_LF).append(new String(response.body().bytes(), Constants.CLOUDAPI_ENCODING));
//
//        return result.toString();
//    }
//}
